// char category table based on script: http://www.strchr.com/multi-stage_tables
// (c) Peter Kankowski, 2008
// which is released under the zlib/libpng license (http://www.opensource.org/licenses/zlib-license.php)
// thanks!

// rest of tables done by me, in a much lazier and suboptimal way


// category table, 31744 bytes
static const char category_stage1[] = {
 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, // U+0000
16, 17, 18, 19, 20, 17, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, // U+1000
31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 33, 41, 42, 43, 44, 45, // U+2000
46, 47, 48, 39, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+3000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 49, 17, 17, // U+4000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+5000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+6000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+7000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+8000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 50, // U+9000
51, 17, 17, 17, 52, 17, 53, 54, 55, 56, 57, 58, 17, 17, 17, 17, // U+A000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+B000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+C000
17, 17, 17, 17, 17, 17, 17, 59, 60, 60, 60, 60, 60, 60, 60, 60, // U+D000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+E000
61, 61, 61, 61, 61, 61, 61, 61, 61, 17, 62, 63, 17, 64, 65, 66, // U+F000
67, 68, 69, 70, 71, 72, 72, 72, 73, 74, 75, 76, 77, 72, 78, 72, // U+10000
79, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+11000
17, 17, 17, 80, 81, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+12000
17, 17, 17, 17, 82, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+13000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+14000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+15000
72, 72, 72, 72, 72, 72, 72, 72, 17, 17, 83, 72, 72, 72, 72, 72, // U+16000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+17000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+18000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+19000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+1A000
84, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+1B000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+1C000
85, 86, 87, 88, 89, 90, 91, 92, 72, 72, 72, 72, 72, 72, 72, 72, // U+1D000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+1E000
93, 94, 95, 96, 97, 98, 99, 100, 72, 72, 72, 72, 72, 72, 72, 72, // U+1F000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+20000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+21000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+22000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+23000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+24000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+25000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+26000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+27000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+28000
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+29000
17, 17, 17, 17, 17, 17, 101, 17, 17, 17, 17, 17, 17, 17, 17, 17, // U+2A000
17, 17, 17, 17, 17, 17, 17, 102, 103, 72, 72, 72, 72, 72, 72, 72, // U+2B000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+2C000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+2D000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+2E000
72, 72, 72, 72, 72, 72, 72, 72, 17, 17, 103, 72, 72, 72, 72, 72, // U+2F000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+30000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+31000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+32000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+33000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+34000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+35000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+36000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+37000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+38000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+39000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+3A000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+3B000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+3C000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+3D000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+3E000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+3F000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+40000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+41000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+42000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+43000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+44000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+45000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+46000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+47000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+48000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+49000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+4A000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+4B000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+4C000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+4D000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+4E000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+4F000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+50000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+51000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+52000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+53000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+54000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+55000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+56000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+57000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+58000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+59000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+5A000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+5B000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+5C000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+5D000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+5E000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+5F000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+60000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+61000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+62000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+63000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+64000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+65000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+66000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+67000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+68000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+69000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+6A000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+6B000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+6C000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+6D000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+6E000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+6F000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+70000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+71000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+72000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+73000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+74000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+75000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+76000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+77000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+78000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+79000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+7A000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+7B000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+7C000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+7D000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+7E000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+7F000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+80000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+81000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+82000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+83000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+84000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+85000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+86000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+87000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+88000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+89000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+8A000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+8B000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+8C000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+8D000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+8E000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+8F000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+90000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+91000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+92000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+93000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+94000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+95000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+96000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+97000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+98000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+99000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+9A000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+9B000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+9C000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+9D000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+9E000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+9F000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+A0000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+A1000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+A2000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+A3000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+A4000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+A5000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+A6000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+A7000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+A8000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+A9000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+AA000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+AB000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+AC000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+AD000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+AE000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+AF000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+B0000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+B1000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+B2000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+B3000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+B4000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+B5000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+B6000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+B7000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+B8000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+B9000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+BA000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+BB000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+BC000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+BD000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+BE000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+BF000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+C0000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+C1000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+C2000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+C3000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+C4000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+C5000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+C6000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+C7000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+C8000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+C9000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+CA000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+CB000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+CC000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+CD000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+CE000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+CF000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+D0000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+D1000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+D2000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+D3000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+D4000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+D5000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+D6000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+D7000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+D8000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+D9000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+DA000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+DB000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+DC000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+DD000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+DE000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+DF000
104, 105, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+E0000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+E1000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+E2000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+E3000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+E4000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+E5000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+E6000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+E7000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+E8000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+E9000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+EA000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+EB000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+EC000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+ED000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+EE000
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, // U+EF000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+F0000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+F1000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+F2000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+F3000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+F4000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+F5000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+F6000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+F7000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+F8000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+F9000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+FA000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+FB000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+FC000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+FD000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+FE000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 106, // U+FF000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+100000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+101000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+102000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+103000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+104000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+105000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+106000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+107000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+108000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+109000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+10A000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+10B000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+10C000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+10D000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, // U+10E000
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 106, // U+10F000
};

static const char category_stage2[] = {

// block 0
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
11, 23, 23, 23, 27, 23, 23, 23, 20, 21, 23, 26, 23, 19, 23, 23,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 23, 23, 26, 26, 26, 23,
23,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20, 23, 21, 28, 22,
28,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 20, 26, 21, 26, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
11, 23, 27, 27, 27, 27, 29, 29, 28, 29,  1, 24, 26, 15, 29, 28,
29, 26, 10, 10, 28,  1, 29, 23, 28, 10,  1, 25, 10, 10, 10, 23,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0, 26,  0,  0,  0,  0,  0,  0,  0,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1, 26,  1,  1,  1,  1,  1,  1,  1,  1,

// block 1
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  1,  0,  1,  0,  1,  0,  1,  0,
 1,  0,  1,  0,  1,  0,  1,  0,  1,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  0,  1,  0,  1,  0,  1,  1,
 1,  0,  0,  1,  0,  1,  0,  0,  1,  0,  0,  0,  1,  1,  0,  0,
 0,  0,  1,  0,  0,  1,  0,  0,  0,  1,  1,  1,  0,  0,  1,  0,
 0,  1,  0,  1,  0,  1,  0,  0,  1,  0,  1,  1,  0,  1,  0,  0,
 1,  0,  0,  0,  1,  0,  1,  0,  0,  1,  1,  4,  0,  1,  1,  1,
 4,  4,  4,  4,  0,  2,  1,  0,  2,  1,  0,  2,  1,  0,  1,  0,
 1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 1,  0,  2,  1,  0,  1,  0,  0,  0,  1,  0,  1,  0,  1,  0,  1,

// block 2
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  1,  1,  1,  1,  1,  1,  0,  0,  1,  0,  0,  1,
 1,  0,  1,  0,  0,  0,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  4,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
 3,  3, 28, 28, 28, 28,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
 3,  3, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
 3,  3,  3,  3,  3, 28, 28, 28, 28, 28, 28, 28,  3, 28,  3, 28,
28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,

// block 3
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 0,  1,  0,  1,  3, 28,  0,  1, 18, 18,  3,  1,  1,  1, 23, 18,
18, 18, 18, 18, 28, 28,  0, 23,  0,  0,  0, 18,  0, 18,  0,  0,
 1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,
 1,  1,  0,  0,  0,  1,  1,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 1,  1,  1,  1,  0,  1, 26,  0,  1,  0,  0,  1,  1,  0,  0,  0,

// block 4
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1, 29,  5,  5,  5,  5,  5,  6,  6,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,

// block 5
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1, 18, 18, 18, 18, 18, 18, 18, 18,
18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0, 18, 18,  3, 23, 23, 23, 23, 23, 23,
18,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1, 18, 23, 19, 18, 18, 18, 18, 18,
18,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5, 19,  5,
23,  5,  5, 23,  5,  5, 23,  5, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18,
 4,  4,  4, 23, 23, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 6
15, 15, 15, 15, 18, 18, 26, 26, 26, 23, 23, 27, 23, 23, 29, 29,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5, 23, 18, 18, 23, 23,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 3,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 23, 23, 23, 23,  4,  4,
 5,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4, 23,  4,  5,  5,  5,  5,  5,  5,  5, 15, 29,  5,
 5,  5,  5,  5,  5,  3,  3,  5,  5, 29,  5,  5,  5,  5,  4,  4,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  4,  4,  4, 29, 29,  4,

// block 7
23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 18, 15,
 4,  5,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5, 18, 18,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  3,  3, 29, 23, 23, 23,  3, 18, 18, 18, 18, 18,

// block 8
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  5,  5,  5,  5,  3,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  3,  5,  5,  5,  3,  5,  5,  5,  5,  5, 18, 18,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  5,  5,  5, 18, 18, 23, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 9
 5,  5,  5,  7,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  5,  7,  5,  4,  7,  7,
 7,  5,  5,  5,  5,  5,  5,  5,  5,  7,  7,  7,  7,  5,  7,  7,
 4,  5,  5,  5,  5,  5,  5,  5,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  5,  5, 23, 23,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
23,  3,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,  4,
18,  5,  7,  7, 18,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18,  4,
 4, 18, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,
 4, 18,  4, 18, 18, 18,  4,  4,  4,  4, 18, 18,  5,  4,  7,  7,
 7,  5,  5,  5,  5, 18, 18,  7,  7, 18, 18,  7,  7,  5,  4, 18,
18, 18, 18, 18, 18, 18, 18,  7, 18, 18, 18, 18,  4,  4, 18,  4,
 4,  4,  5,  5, 18, 18,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
 4,  4, 27, 27, 10, 10, 10, 10, 10, 10, 29, 27, 18, 18, 18, 18,

// block 10
18,  5,  5,  7, 18,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18,  4,
 4, 18, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,
 4, 18,  4,  4, 18,  4,  4, 18,  4,  4, 18, 18,  5, 18,  7,  7,
 7,  5,  5, 18, 18, 18, 18,  5,  5, 18, 18,  5,  5,  5, 18, 18,
18,  5, 18, 18, 18, 18, 18, 18, 18,  4,  4,  4,  4, 18,  4, 18,
18, 18, 18, 18, 18, 18,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
 5,  5,  4,  4,  4,  5, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18,  5,  5,  7, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,
 4,  4, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,
 4, 18,  4,  4, 18,  4,  4,  4,  4,  4, 18, 18,  5,  4,  7,  7,
 7,  5,  5,  5,  5,  5, 18,  5,  5,  7, 18,  7,  7,  5, 18, 18,
 4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  5,  5, 18, 18,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
18, 27, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 11
18,  5,  7,  7, 18,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18,  4,
 4, 18, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,
 4, 18,  4,  4, 18,  4,  4,  4,  4,  4, 18, 18,  5,  4,  7,  5,
 7,  5,  5,  5,  5, 18, 18,  7,  7, 18, 18,  7,  7,  5, 18, 18,
18, 18, 18, 18, 18, 18,  5,  7, 18, 18, 18, 18,  4,  4, 18,  4,
 4,  4,  5,  5, 18, 18,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
29,  4, 10, 10, 10, 10, 10, 10, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18,  5,  4, 18,  4,  4,  4,  4,  4,  4, 18, 18, 18,  4,  4,
 4, 18,  4,  4,  4,  4, 18, 18, 18,  4,  4, 18,  4, 18,  4,  4,
18, 18, 18,  4,  4, 18, 18, 18,  4,  4,  4, 18, 18, 18,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18,  7,  7,
 5,  7,  7, 18, 18, 18,  7,  7,  7, 18,  7,  7,  7,  5, 18, 18,
 4, 18, 18, 18, 18, 18, 18,  7, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
10, 10, 10, 29, 29, 29, 29, 29, 29, 27, 29, 18, 18, 18, 18, 18,

// block 12
18,  7,  7,  7, 18,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,
 4, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4, 18,  4,  4,  4,  4,  4, 18, 18, 18,  4,  5,  5,
 5,  7,  7,  7,  7, 18,  5,  5,  5, 18,  5,  5,  5,  5, 18, 18,
18, 18, 18, 18, 18,  5,  5, 18,  4,  4, 18, 18, 18, 18, 18, 18,
 4,  4,  5,  5, 18, 18,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
18, 18, 18, 18, 18, 18, 18, 18, 10, 10, 10, 10, 10, 10, 10, 29,
18, 18,  7,  7, 18,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,
 4, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4, 18,  4,  4,  4,  4,  4, 18, 18,  5,  4,  7,  5,
 7,  7,  7,  7,  7, 18,  5,  7,  7, 18,  7,  7,  5,  5, 18, 18,
18, 18, 18, 18, 18,  7,  7, 18, 18, 18, 18, 18, 18, 18,  4, 18,
 4,  4,  5,  5, 18, 18,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
18,  4,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 13
18, 18,  7,  7, 18,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,
 4, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18,  4,  7,  7,
 7,  5,  5,  5,  5, 18,  7,  7,  7, 18,  7,  7,  7,  5,  4, 18,
18, 18, 18, 18, 18, 18, 18,  7, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  5,  5, 18, 18,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
10, 10, 10, 10, 10, 10, 18, 18, 18, 29,  4,  4,  4,  4,  4,  4,
18, 18,  7,  7, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4, 18, 18, 18,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4, 18, 18,
 4,  4,  4,  4,  4,  4,  4, 18, 18, 18,  5, 18, 18, 18, 18,  7,
 7,  7,  5,  5,  5, 18,  5, 18,  7,  7,  7,  7,  7,  7,  7,  7,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18,  7,  7, 23, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 14
18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  5,  4,  4,  5,  5,  5,  5,  5,  5,  5, 18, 18, 18, 18, 27,
 4,  4,  4,  4,  4,  4,  3,  5,  5,  5,  5,  5,  5,  5,  5, 23,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 23, 23, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18,  4,  4, 18,  4, 18, 18,  4,  4, 18,  4, 18, 18,  4, 18, 18,
18, 18, 18, 18,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,  4,
18,  4,  4,  4, 18,  4, 18,  4, 18, 18,  4,  4, 18,  4,  4,  4,
 4,  5,  4,  4,  5,  5,  5,  5,  5,  5, 18,  5,  5,  4, 18, 18,
 4,  4,  4,  4,  4, 18,  3, 18,  5,  5,  5,  5,  5,  5, 18, 18,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 18, 18,  4,  4, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 15
 4, 29, 29, 29, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 29, 29, 29, 29, 29,  5,  5, 29, 29, 29, 29, 29, 29,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 29,  5, 29,  5, 29,  5, 20, 21, 20, 21,  7,  7,
 4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18,
18,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  7,
 5,  5,  5,  5,  5, 23,  5,  5,  4,  4,  4,  4,  4,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5, 18,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5, 18, 29, 29,
29, 29, 29, 29, 29, 29,  5, 29, 29, 29, 29, 29, 29, 18, 29, 29,
23, 23, 23, 23, 23, 29, 29, 29, 29, 23, 23, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 16
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  7,  7,  5,  5,  5,
 5,  7,  5,  5,  5,  5,  5,  5,  7,  5,  5,  7,  7,  5,  5,  4,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 23, 23, 23, 23, 23, 23,
 4,  4,  4,  4,  4,  4,  7,  7,  5,  5,  4,  4,  4,  4,  5,  5,
 5,  4,  7,  7,  7,  4,  4,  7,  7,  7,  7,  7,  7,  7,  4,  4,
 4,  5,  5,  5,  5,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  5,  7,  7,  5,  5,  7,  7,  7,  7,  7,  7,  5,  4,  7,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  7,  7,  7,  5, 29, 29,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 23,  3, 18, 18, 18,

// block 17
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,

// block 18
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4, 18, 18,
 4,  4,  4,  4,  4,  4,  4, 18,  4, 18,  4,  4,  4,  4, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4, 18,  4,  4,  4,  4, 18, 18,  4,  4,  4,  4,  4,  4,  4, 18,
 4, 18,  4,  4,  4,  4, 18, 18,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,

// block 19
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4, 18,  4,  4,  4,  4, 18, 18,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18,  5,  5,  5,
29, 23, 23, 23, 23, 23, 23, 23, 23, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 20
19,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,

// block 21
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 23, 23,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
11,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 20, 21, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 23, 23, 23,  9,  9,
 9, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 22
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,
 4,  4,  5,  5,  5, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  5,  5,  5, 23, 23, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  5,  5, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,
 4, 18,  5,  5, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4, 15, 15,  7,  5,  5,  5,  5,  5,  5,  5,  7,  7,
 7,  7,  7,  7,  7,  7,  5,  7,  7,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5, 23, 23, 23,  3, 23, 23, 23, 27,  4,  5, 18, 18,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 18, 18, 18, 18, 18, 18,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 18, 18, 18, 18, 18, 18,

// block 23
23, 23, 23, 23, 23, 23, 19, 23, 23, 23, 23,  5,  5,  5, 11, 18,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  3,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  5,  4, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 24
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18,
 5,  5,  5,  7,  7,  7,  7,  5,  5,  7,  7,  7, 18, 18, 18, 18,
 7,  7,  5,  7,  7,  7,  7,  7,  7,  5,  5,  5, 18, 18, 18, 18,
29, 18, 18, 18, 23, 23,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18,
 4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18,
 7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
 7,  4,  4,  4,  4,  4,  4,  4,  7,  7, 18, 18, 18, 18, 18, 18,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 10, 18, 18, 18, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,

// block 25
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  5,  5,  7,  7,  7, 18, 18, 23, 23,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  7,  5,  7,  5,  5,  5,  5,  5,  5,  5, 18,
 5,  7,  5,  7,  7,  5,  5,  5,  5,  5,  5,  5,  5,  7,  7,  7,
 7,  7,  7,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5, 18, 18,  5,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 18, 18, 18, 18, 18, 18,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 18, 18, 18, 18, 18, 18,
23, 23, 23, 23, 23, 23, 23,  3, 23, 23, 23, 23, 23, 23, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 26
 5,  5,  5,  5,  7,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  5,  7,  5,  5,  5,  5,  5,  7,  5,  7,  7,  7,
 7,  7,  5,  7,  7,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 23, 23, 23, 23, 23, 23,
23, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,  5,  5,  5,  5,  5,
 5,  5,  5,  5, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18, 18,
 5,  5,  7,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  7,  5,  5,  5,  5,  7,  7,  5,  5,  7, 18, 18, 18,  4,  4,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  5,  7,  5,  5,  7,  7,  7,  5,  7,  5,
 5,  5,  7,  7, 18, 18, 18, 18, 18, 18, 18, 18, 23, 23, 23, 23,

// block 27
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  7,  7,  7,  7,  7,  7,  7,  7,  5,  5,  5,  5,
 5,  5,  5,  5,  7,  7,  5,  5, 18, 18, 18, 23, 23, 23, 23, 23,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 18, 18, 18,  4,  4,  4,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  3,  3,  3,  3,  3,  3, 23, 23,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 5,  5,  5, 23,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  7,  5,  5,  5,  5,  5,  5,  5,  4,  4,  4,  4,  5,  4,  4,
 4,  4,  7, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 28
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  3,  3,  3,  3,
 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
 3,  3,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  3,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  3,  3,  3,  3,  3,
 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  5,  5,  5,  5,

// block 29
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,

// block 30
 1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,
 1,  1,  1,  1,  1,  1, 18, 18,  0,  0,  0,  0,  0,  0, 18, 18,
 1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,
 1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,
 1,  1,  1,  1,  1,  1, 18, 18,  0,  0,  0,  0,  0,  0, 18, 18,
 1,  1,  1,  1,  1,  1,  1,  1, 18,  0, 18,  0, 18,  0, 18,  0,
 1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18, 18,
 1,  1,  1,  1,  1,  1,  1,  1,  2,  2,  2,  2,  2,  2,  2,  2,
 1,  1,  1,  1,  1,  1,  1,  1,  2,  2,  2,  2,  2,  2,  2,  2,
 1,  1,  1,  1,  1,  1,  1,  1,  2,  2,  2,  2,  2,  2,  2,  2,
 1,  1,  1,  1,  1, 18,  1,  1,  0,  0,  0,  0,  2, 28,  1, 28,
28, 28,  1,  1,  1, 18,  1,  1,  0,  0,  0,  0,  2, 28, 28, 28,
 1,  1,  1,  1, 18, 18,  1,  1,  0,  0,  0,  0, 18, 28, 28, 28,
 1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0, 28, 28, 28,
18, 18,  1,  1,  1, 18,  1,  1,  0,  0,  0,  0,  2, 28, 28, 18,

// block 31
11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 15, 15, 15, 15, 15,
19, 19, 19, 19, 19, 19, 23, 23, 24, 25, 20, 24, 24, 25, 20, 24,
23, 23, 23, 23, 23, 23, 23, 23, 12, 13, 15, 15, 15, 15, 15, 11,
23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 25, 23, 23, 23, 23, 22,
22, 23, 23, 23, 26, 20, 21, 23, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 26, 23, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 11,
15, 15, 15, 15, 15, 18, 18, 18, 18, 18, 15, 15, 15, 15, 15, 15,
10,  3, 18, 18, 10, 10, 10, 10, 10, 10, 26, 26, 26, 20, 21,  3,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 26, 26, 26, 20, 21, 18,
 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3, 18, 18, 18,
27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  6,  6,  6,
 6,  5,  6,  6,  6,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 32
29, 29,  0, 29, 29, 29, 29,  0, 29, 29,  1,  0,  0,  0,  1,  1,
 0,  0,  0,  1, 29,  0, 29, 29, 26,  0,  0,  0,  0,  0, 29, 29,
29, 29, 29, 29,  0, 29,  0, 29,  0, 29,  0,  0,  0,  0, 29,  1,
 0,  0,  0,  0,  1,  4,  4,  4,  4,  1, 29, 29,  1,  1,  0,  0,
26, 26, 26, 26, 26,  0,  1,  1,  1,  1, 29, 26, 29, 29,  1, 29,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
 9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
 9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
 9,  9,  9,  0,  1,  9,  9,  9,  9, 10, 18, 18, 18, 18, 18, 18,
26, 26, 26, 26, 26, 29, 29, 29, 29, 29, 26, 26, 29, 29, 29, 29,
26, 29, 29, 26, 29, 29, 26, 29, 29, 29, 29, 29, 29, 29, 26, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 26, 26,
29, 29, 26, 29, 26, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,

// block 33
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,

// block 34
29, 29, 29, 29, 29, 29, 29, 29, 26, 26, 26, 26, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
26, 26, 29, 29, 29, 29, 29, 29, 29, 20, 21, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 26, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 26, 26, 26, 26,
26, 26, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 35
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,

// block 36
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 26, 29, 29, 29, 29, 29, 29, 29, 29,
29, 26, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 26, 26, 26, 26, 26, 26, 26, 26,

// block 37
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 26,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,

// block 38
18, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 20, 21, 20, 21, 20, 21, 20, 21,
20, 21, 20, 21, 20, 21, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
26, 26, 26, 26, 26, 20, 21, 26, 26, 26, 26, 18, 26, 18, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,

// block 39
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,

// block 40
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20,
21, 20, 21, 20, 21, 20, 21, 20, 21, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 20, 21, 20, 21, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 20, 21, 26, 26,

// block 41
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 29, 29, 26, 26, 26, 26, 26, 26, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 42
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 18,
 0,  1,  0,  0,  0,  1,  1,  0,  1,  0,  1,  0,  1,  0,  0,  0,
 0,  1,  0,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1,  3,  0,  0,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  1, 29, 29, 29, 29, 29, 29,  0,  1,  0,  1,  5,
 5,  5, 18, 18, 18, 18, 18, 18, 18, 23, 23, 23, 23, 10, 23, 23,

// block 43
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18,  3,
23, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  5,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,  4, 18,
 4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,  4, 18,
 4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,  4, 18,
 4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,  4, 18,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,

// block 44
23, 23, 24, 25, 24, 25, 23, 23, 23, 24, 25, 23, 24, 25, 23, 23,
23, 23, 23, 23, 23, 23, 23, 19, 23, 23, 19, 23, 24, 25, 23, 23,
24, 25, 20, 21, 20, 21, 20, 21, 20, 21, 23, 23, 23, 23, 23,  3,
23, 23, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 45
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18,

// block 46
11, 23, 23, 23, 29,  3,  4,  9, 20, 21, 20, 21, 20, 21, 20, 21,
20, 21, 29, 29, 20, 21, 20, 21, 20, 21, 20, 21, 19, 20, 21, 21,
29,  9,  9,  9,  9,  9,  9,  9,  9,  9,  5,  5,  5,  5,  5,  5,
19,  3,  3,  3,  3,  3, 29, 29,  9,  9,  9,  3,  4, 23, 29, 29,
18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4, 18, 18,  5,  5, 28, 28,  3,  3,  4,
19,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 23,  3,  3,  3,  4,

// block 47
18, 18, 18, 18, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18,
18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18,
29, 29, 10, 10, 10, 10, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,

// block 48
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18,

// block 49
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,

// block 50
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 51
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  3,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,

// block 52
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  3,  3,  3,  3,  3,  3, 23, 23,

// block 53
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  3, 23, 23, 23,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  4,  4, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  4,  5,
 6,  6,  6, 23, 18, 18, 18, 18, 18, 18, 18, 18,  5,  5, 23,  3,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
 5,  5, 23, 23, 23, 23, 23, 23, 18, 18, 18, 18, 18, 18, 18, 18,

// block 54
28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
28, 28, 28, 28, 28, 28, 28,  3,  3,  3,  3,  3,  3,  3,  3,  3,
28, 28,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 1,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0,  1,
 3,  1,  1,  1,  1,  1,  1,  1,  1,  0,  1,  0,  1,  0,  0,  1,
 0,  1,  0,  1,  0,  1,  0,  1,  3, 28, 28,  0,  1,  0,  1, 18,
 0,  1, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 0,  1,  0,  1,  0,  1,  0,  1,  0,  1, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  1,  4,  4,  4,  4,  4,

// block 55
 4,  4,  5,  4,  4,  4,  5,  4,  4,  4,  4,  5,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  7,  7,  5,  5,  7, 29, 29, 29, 29, 18, 18, 18, 18,
10, 10, 10, 10, 10, 10, 29, 29, 27, 29, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4, 23, 23, 23, 23, 18, 18, 18, 18, 18, 18, 18, 18,
 7,  7,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
 7,  7,  7,  7,  5, 18, 18, 18, 18, 18, 18, 18, 18, 18, 23, 23,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 18, 18, 18, 18, 18, 18,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  4,  4,  4,  4,  4,  4, 23, 23, 23,  4, 18, 18, 18, 18,

// block 56
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  5,  5,  5,  5,  5,  5,  5,  5, 23, 23,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  7,  7, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 23,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18,
 5,  5,  5,  7,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  5,  7,  7,  5,  5,  5,  5,  7,  7,  5,  7,  7,  7,
 7, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 18,  3,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 18, 18, 18, 18, 23, 23,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 57
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  5,  5,  5,  5,  5,  5,  7,
 7,  5,  5,  7,  7,  5,  5, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  5,  4,  4,  4,  4,  4,  4,  4,  4,  5,  7, 18, 18,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 18, 18, 23, 23, 23, 23,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 3,  4,  4,  4,  4,  4,  4, 29, 29, 29,  4,  7, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 5,  4,  5,  5,  5,  4,  4,  5,  5,  4,  4,  4,  4,  4,  5,  5,
 4,  5,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  4,  4,  3, 23, 23,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 58
18,  4,  4,  4,  4,  4,  4, 18, 18,  4,  4,  4,  4,  4,  4, 18,
18,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,  4, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  7,  7,  5,  7,  7,  5,  7,  7, 23,  7,  5, 18, 18,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 18, 18, 18, 18, 18, 18,

// block 59
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18,

// block 60
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,

// block 61
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,

// block 62
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 63
 1,  1,  1,  1,  1,  1,  1, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18,  1,  1,  1,  1,  1, 18, 18, 18, 18, 18,  4,  5,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4, 26,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4, 18,  4, 18,
 4,  4, 18,  4,  4, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
28, 28, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,

// block 64
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 20, 21,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
18, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 27, 29, 18, 18,

// block 65
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
23, 23, 23, 23, 23, 23, 23, 20, 21, 23, 18, 18, 18, 18, 18, 18,
 5,  5,  5,  5,  5,  5,  5, 18, 18, 18, 18, 18, 18, 18, 18, 18,
23, 19, 19, 22, 22, 20, 21, 20, 21, 20, 21, 20, 21, 20, 21, 20,
21, 20, 21, 20, 21, 23, 23, 20, 21, 23, 23, 23, 23, 22, 22, 22,
23, 23, 23, 18, 23, 23, 23, 23, 19, 20, 21, 20, 21, 20, 21, 23,
23, 23, 26, 19, 26, 26, 26, 18, 23, 27, 23, 23, 18, 18, 18, 18,
 4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 15,

// block 66
18, 23, 23, 23, 27, 23, 23, 23, 20, 21, 23, 26, 23, 19, 23, 23,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 23, 23, 26, 26, 26, 23,
23,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 20, 23, 21, 28, 22,
28,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 20, 26, 21, 26, 20,
21, 23, 20, 21, 23, 23,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 3,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  3,  3,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18,
18, 18,  4,  4,  4,  4,  4,  4, 18, 18,  4,  4,  4,  4,  4,  4,
18, 18,  4,  4,  4,  4,  4,  4, 18, 18,  4,  4,  4, 18, 18, 18,
27, 27, 26, 28, 29, 27, 27, 18, 29, 26, 26, 26, 26, 29, 29, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 15, 15, 15, 29, 29, 18, 18,

// block 67
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  4,  4, 18,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18,

// block 68
23, 23, 29, 18, 18, 18, 18, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 18, 18, 18, 29, 29, 29, 29, 29, 29, 29, 29, 29,
 9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
 9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
 9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
 9,  9,  9,  9,  9, 10, 10, 10, 10, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 10, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,  5, 18, 18,

// block 69
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 70
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18,
10, 10, 10, 10, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  9,  4,  4,  4,  4,  4,  4,  4,  4,  9, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 23,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4, 18, 18, 18, 18,  4,  4,  4,  4,  4,  4,  4,  4,
23,  9,  9,  9,  9,  9, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 71
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 72
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 73
 4,  4,  4,  4,  4,  4, 18, 18,  4, 18,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4, 18,  4,  4, 18, 18, 18,  4, 18, 18,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4, 18, 23, 10, 10, 10, 10, 10, 10, 10, 10,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 74
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4, 10, 10, 10, 10, 10, 10, 18, 18, 18, 23,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 23,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 75
 4,  5,  5,  5, 18,  5,  5, 18, 18, 18, 18, 18,  5,  5,  5,  5,
 4,  4,  4,  4, 18,  4,  4,  4, 18,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4, 18, 18, 18, 18,  5,  5,  5, 18, 18, 18, 18,  5,
10, 10, 10, 10, 10, 10, 10, 10, 18, 18, 18, 18, 18, 18, 18, 18,
23, 23, 23, 23, 23, 23, 23, 23, 23, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 10, 10, 23,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 76
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4, 18, 18, 18, 23, 23, 23, 23, 23, 23, 23,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4, 18, 18, 10, 10, 10, 10, 10, 10, 10, 10,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4, 18, 18, 18, 18, 18, 10, 10, 10, 10, 10, 10, 10, 10,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 77
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 78
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 79
 7,  5,  7,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5, 23, 23, 23, 23, 23, 23, 23, 18, 18,
18, 18, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 5,  5,  7,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 7,  7,  7,  5,  5,  5,  5,  7,  7,  5,  5, 23, 23, 15, 23, 23,
23, 23, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 80
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 81
 9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
 9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
 9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
 9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
 9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
 9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
 9,  9,  9, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
23, 23, 23, 23, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 82
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 83
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 84
 4,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 85
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 86
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 18, 18, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29,  7,  7,  5,  5,  5, 29, 29, 29,  7,  7,  7,
 7,  7,  7, 15, 15, 15, 15, 15, 15, 15, 15,  5,  5,  5,  5,  5,
 5,  5,  5, 29, 29,  5,  5,  5,  5,  5,  5,  5, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29,  5,  5,  5,  5, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 87
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29,  5,  5,  5, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 88
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 89
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,
 1,  1,  1,  1,  1, 18,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0, 18,  0,  0,
18, 18,  0, 18, 18,  0,  0, 18, 18,  0,  0,  0,  0, 18,  0,  0,
 0,  0,  0,  0,  0,  0,  1,  1,  1,  1, 18,  1, 18,  1,  1,  1,
 1,  1,  1,  1, 18,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,

// block 90
 1,  1,  1,  1,  0,  0, 18,  0,  0,  0,  0, 18, 18,  0,  0,  0,
 0,  0,  0,  0,  0, 18,  0,  0,  0,  0,  0,  0,  0, 18,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  0,  0, 18,  0,  0,  0,  0, 18,
 0,  0,  0,  0,  0, 18,  0, 18, 18, 18,  0,  0,  0,  0,  0,  0,
 0, 18,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,

// block 91
 1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1, 18, 18,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0, 26,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 26,  1,  1,  1,  1,
 1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 26,  1,  1,  1,  1,

// block 92
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1, 26,  1,  1,  1,  1,  1,  1,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0, 26,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1, 26,
 1,  1,  1,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 26,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1, 26,  1,  1,  1,  1,  1,  1,
 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 0,  0,  0,  0,  0,  0,  0,  0,  0, 26,  1,  1,  1,  1,  1,  1,
 1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
 1,  1,  1, 26,  1,  1,  1,  1,  1,  1,  0,  1, 18, 18,  8,  8,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,

// block 93
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18,
18, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18,
18, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
18, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 94
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,

// block 95
29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18,
29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 96
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 18, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 18, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 97
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18,
29, 18, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 18, 29, 29, 29, 29, 18, 18, 18,

// block 98
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 29, 29, 29, 29, 29,

// block 99
18, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 18, 29, 29, 29, 18, 29, 18, 29, 18, 29, 18, 29, 29, 29, 18,
29, 29, 29, 29, 29, 29, 18, 18, 29, 29, 29, 29, 18, 29, 18, 18,
29, 29, 29, 29, 18, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 18, 18, 18, 18, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 100
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 101
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 102
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,

// block 103
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 104
18, 15, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 105
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
 5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,

// block 106
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 18, 18,
};


//----------------------------------------------------------


static unsigned cf_00[0x100]={
             0,      0,      0,      0,      0,      0,      0,      0,     // 0000-0007
             0,      0,      0,      0,      0,      0,      0,      0,     // 0008-000F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0010-0017
             0,      0,      0,      0,      0,      0,      0,      0,     // 0018-001F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0020-0027
             0,      0,      0,      0,      0,      0,      0,      0,     // 0028-002F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0030-0037
             0,      0,      0,      0,      0,      0,      0,      0,     // 0038-003F
             0, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,     // 0040-0047
        0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,     // 0048-004F
        0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,     // 0050-0057
        0x0078, 0x0079, 0x007A,      0,      0,      0,      0,      0,     // 0058-005F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0060-0067
             0,      0,      0,      0,      0,      0,      0,      0,     // 0068-006F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0070-0077
             0,      0,      0,      0,      0,      0,      0,      0,     // 0078-007F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0080-0087
             0,      0,      0,      0,      0,      0,      0,      0,     // 0088-008F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0090-0097
             0,      0,      0,      0,      0,      0,      0,      0,     // 0098-009F
             0,      0,      0,      0,      0,      0,      0,      0,     // 00A0-00A7
             0,      0,      0,      0,      0,      0,      0,      0,     // 00A8-00AF
             0,      0,      0,      0,      0, 0x03BC,      0,      0,     // 00B0-00B7
             0,      0,      0,      0,      0,      0,      0,      0,     // 00B8-00BF
        0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7,     // 00C0-00C7
        0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF,     // 00C8-00CF
        0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6,      0,     // 00D0-00D7
        0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE,      0,     // 00D8-00DF
             0,      0,      0,      0,      0,      0,      0,      0,     // 00E0-00E7
             0,      0,      0,      0,      0,      0,      0,      0,     // 00E8-00EF
             0,      0,      0,      0,      0,      0,      0,      0,     // 00F0-00F7
             0,      0,      0,      0,      0,      0,      0,      0,     // 00F8-00FF
        };
static unsigned cf_01[0x100]={
        0x0101,      0, 0x0103,      0, 0x0105,      0, 0x0107,      0,     // 0100-0107
        0x0109,      0, 0x010B,      0, 0x010D,      0, 0x010F,      0,     // 0108-010F
        0x0111,      0, 0x0113,      0, 0x0115,      0, 0x0117,      0,     // 0110-0117
        0x0119,      0, 0x011B,      0, 0x011D,      0, 0x011F,      0,     // 0118-011F
        0x0121,      0, 0x0123,      0, 0x0125,      0, 0x0127,      0,     // 0120-0127
        0x0129,      0, 0x012B,      0, 0x012D,      0, 0x012F,      0,     // 0128-012F
             0,      0, 0x0133,      0, 0x0135,      0, 0x0137,      0,     // 0130-0137
             0, 0x013A,      0, 0x013C,      0, 0x013E,      0, 0x0140,     // 0138-013F
             0, 0x0142,      0, 0x0144,      0, 0x0146,      0, 0x0148,     // 0140-0147
             0,      0, 0x014B,      0, 0x014D,      0, 0x014F,      0,     // 0148-014F
        0x0151,      0, 0x0153,      0, 0x0155,      0, 0x0157,      0,     // 0150-0157
        0x0159,      0, 0x015B,      0, 0x015D,      0, 0x015F,      0,     // 0158-015F
        0x0161,      0, 0x0163,      0, 0x0165,      0, 0x0167,      0,     // 0160-0167
        0x0169,      0, 0x016B,      0, 0x016D,      0, 0x016F,      0,     // 0168-016F
        0x0171,      0, 0x0173,      0, 0x0175,      0, 0x0177,      0,     // 0170-0177
        0x00FF, 0x017A,      0, 0x017C,      0, 0x017E,      0, 0x0073,     // 0178-017F
             0, 0x0253, 0x0183,      0, 0x0185,      0, 0x0254, 0x0188,     // 0180-0187
             0, 0x0256, 0x0257, 0x018C,      0,      0, 0x01DD, 0x0259,     // 0188-018F
        0x025B, 0x0192,      0, 0x0260, 0x0263,      0, 0x0269, 0x0268,     // 0190-0197
        0x0199,      0,      0,      0, 0x026F, 0x0272,      0, 0x0275,     // 0198-019F
        0x01A1,      0, 0x01A3,      0, 0x01A5,      0, 0x0280, 0x01A8,     // 01A0-01A7
             0, 0x0283,      0,      0, 0x01AD,      0, 0x0288, 0x01B0,     // 01A8-01AF
             0, 0x028A, 0x028B, 0x01B4,      0, 0x01B6,      0, 0x0292,     // 01B0-01B7
        0x01B9,      0,      0,      0, 0x01BD,      0,      0,      0,     // 01B8-01BF
             0,      0,      0,      0, 0x01C6, 0x01C6,      0, 0x01C9,     // 01C0-01C7
        0x01C9,      0, 0x01CC, 0x01CC,      0, 0x01CE,      0, 0x01D0,     // 01C8-01CF
             0, 0x01D2,      0, 0x01D4,      0, 0x01D6,      0, 0x01D8,     // 01D0-01D7
             0, 0x01DA,      0, 0x01DC,      0,      0, 0x01DF,      0,     // 01D8-01DF
        0x01E1,      0, 0x01E3,      0, 0x01E5,      0, 0x01E7,      0,     // 01E0-01E7
        0x01E9,      0, 0x01EB,      0, 0x01ED,      0, 0x01EF,      0,     // 01E8-01EF
             0, 0x01F3, 0x01F3,      0, 0x01F5,      0, 0x0195, 0x01BF,     // 01F0-01F7
        0x01F9,      0, 0x01FB,      0, 0x01FD,      0, 0x01FF,      0,     // 01F8-01FF
        };
static unsigned cf_02[0x100]={
        0x0201,      0, 0x0203,      0, 0x0205,      0, 0x0207,      0,     // 0200-0207
        0x0209,      0, 0x020B,      0, 0x020D,      0, 0x020F,      0,     // 0208-020F
        0x0211,      0, 0x0213,      0, 0x0215,      0, 0x0217,      0,     // 0210-0217
        0x0219,      0, 0x021B,      0, 0x021D,      0, 0x021F,      0,     // 0218-021F
        0x019E,      0, 0x0223,      0, 0x0225,      0, 0x0227,      0,     // 0220-0227
        0x0229,      0, 0x022B,      0, 0x022D,      0, 0x022F,      0,     // 0228-022F
        0x0231,      0, 0x0233,      0,      0,      0,      0,      0,     // 0230-0237
             0,      0, 0x2C65, 0x023C,      0, 0x019A, 0x2C66,      0,     // 0238-023F
             0, 0x0242,      0, 0x0180, 0x0289, 0x028C, 0x0247,      0,     // 0240-0247
        0x0249,      0, 0x024B,      0, 0x024D,      0, 0x024F,      0,     // 0248-024F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0250-0257
             0,      0,      0,      0,      0,      0,      0,      0,     // 0258-025F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0260-0267
             0,      0,      0,      0,      0,      0,      0,      0,     // 0268-026F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0270-0277
             0,      0,      0,      0,      0,      0,      0,      0,     // 0278-027F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0280-0287
             0,      0,      0,      0,      0,      0,      0,      0,     // 0288-028F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0290-0297
             0,      0,      0,      0,      0,      0,      0,      0,     // 0298-029F
             0,      0,      0,      0,      0,      0,      0,      0,     // 02A0-02A7
             0,      0,      0,      0,      0,      0,      0,      0,     // 02A8-02AF
             0,      0,      0,      0,      0,      0,      0,      0,     // 02B0-02B7
             0,      0,      0,      0,      0,      0,      0,      0,     // 02B8-02BF
             0,      0,      0,      0,      0,      0,      0,      0,     // 02C0-02C7
             0,      0,      0,      0,      0,      0,      0,      0,     // 02C8-02CF
             0,      0,      0,      0,      0,      0,      0,      0,     // 02D0-02D7
             0,      0,      0,      0,      0,      0,      0,      0,     // 02D8-02DF
             0,      0,      0,      0,      0,      0,      0,      0,     // 02E0-02E7
             0,      0,      0,      0,      0,      0,      0,      0,     // 02E8-02EF
             0,      0,      0,      0,      0,      0,      0,      0,     // 02F0-02F7
             0,      0,      0,      0,      0,      0,      0,      0,     // 02F8-02FF
        };
static unsigned cf_03[0x100]={
             0,      0,      0,      0,      0,      0,      0,      0,     // 0300-0307
             0,      0,      0,      0,      0,      0,      0,      0,     // 0308-030F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0310-0317
             0,      0,      0,      0,      0,      0,      0,      0,     // 0318-031F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0320-0327
             0,      0,      0,      0,      0,      0,      0,      0,     // 0328-032F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0330-0337
             0,      0,      0,      0,      0,      0,      0,      0,     // 0338-033F
             0,      0,      0,      0,      0, 0x03B9,      0,      0,     // 0340-0347
             0,      0,      0,      0,      0,      0,      0,      0,     // 0348-034F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0350-0357
             0,      0,      0,      0,      0,      0,      0,      0,     // 0358-035F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0360-0367
             0,      0,      0,      0,      0,      0,      0,      0,     // 0368-036F
        0x0371,      0, 0x0373,      0,      0,      0, 0x0377,      0,     // 0370-0377
             0,      0,      0,      0,      0,      0,      0,      0,     // 0378-037F
             0,      0,      0,      0,      0,      0, 0x03AC,      0,     // 0380-0387
        0x03AD, 0x03AE, 0x03AF,      0, 0x03CC,      0, 0x03CD, 0x03CE,     // 0388-038F
             0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7,     // 0390-0397
        0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF,     // 0398-039F
        0x03C0, 0x03C1,      0, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7,     // 03A0-03A7
        0x03C8, 0x03C9, 0x03CA, 0x03CB,      0,      0,      0,      0,     // 03A8-03AF
             0,      0,      0,      0,      0,      0,      0,      0,     // 03B0-03B7
             0,      0,      0,      0,      0,      0,      0,      0,     // 03B8-03BF
             0,      0, 0x03C3,      0,      0,      0,      0,      0,     // 03C0-03C7
             0,      0,      0,      0,      0,      0,      0, 0x03D7,     // 03C8-03CF
        0x03B2, 0x03B8,      0,      0,      0, 0x03C6, 0x03C0,      0,     // 03D0-03D7
        0x03D9,      0, 0x03DB,      0, 0x03DD,      0, 0x03DF,      0,     // 03D8-03DF
        0x03E1,      0, 0x03E3,      0, 0x03E5,      0, 0x03E7,      0,     // 03E0-03E7
        0x03E9,      0, 0x03EB,      0, 0x03ED,      0, 0x03EF,      0,     // 03E8-03EF
        0x03BA, 0x03C1,      0,      0, 0x03B8, 0x03B5,      0, 0x03F8,     // 03F0-03F7
             0, 0x03F2, 0x03FB,      0,      0, 0x037B, 0x037C, 0x037D,     // 03F8-03FF
        };
static unsigned cf_04[0x100]={
        0x0450, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457,     // 0400-0407
        0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x045D, 0x045E, 0x045F,     // 0408-040F
        0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,     // 0410-0417
        0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,     // 0418-041F
        0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,     // 0420-0427
        0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F,     // 0428-042F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0430-0437
             0,      0,      0,      0,      0,      0,      0,      0,     // 0438-043F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0440-0447
             0,      0,      0,      0,      0,      0,      0,      0,     // 0448-044F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0450-0457
             0,      0,      0,      0,      0,      0,      0,      0,     // 0458-045F
        0x0461,      0, 0x0463,      0, 0x0465,      0, 0x0467,      0,     // 0460-0467
        0x0469,      0, 0x046B,      0, 0x046D,      0, 0x046F,      0,     // 0468-046F
        0x0471,      0, 0x0473,      0, 0x0475,      0, 0x0477,      0,     // 0470-0477
        0x0479,      0, 0x047B,      0, 0x047D,      0, 0x047F,      0,     // 0478-047F
        0x0481,      0,      0,      0,      0,      0,      0,      0,     // 0480-0487
             0,      0, 0x048B,      0, 0x048D,      0, 0x048F,      0,     // 0488-048F
        0x0491,      0, 0x0493,      0, 0x0495,      0, 0x0497,      0,     // 0490-0497
        0x0499,      0, 0x049B,      0, 0x049D,      0, 0x049F,      0,     // 0498-049F
        0x04A1,      0, 0x04A3,      0, 0x04A5,      0, 0x04A7,      0,     // 04A0-04A7
        0x04A9,      0, 0x04AB,      0, 0x04AD,      0, 0x04AF,      0,     // 04A8-04AF
        0x04B1,      0, 0x04B3,      0, 0x04B5,      0, 0x04B7,      0,     // 04B0-04B7
        0x04B9,      0, 0x04BB,      0, 0x04BD,      0, 0x04BF,      0,     // 04B8-04BF
        0x04CF, 0x04C2,      0, 0x04C4,      0, 0x04C6,      0, 0x04C8,     // 04C0-04C7
             0, 0x04CA,      0, 0x04CC,      0, 0x04CE,      0,      0,     // 04C8-04CF
        0x04D1,      0, 0x04D3,      0, 0x04D5,      0, 0x04D7,      0,     // 04D0-04D7
        0x04D9,      0, 0x04DB,      0, 0x04DD,      0, 0x04DF,      0,     // 04D8-04DF
        0x04E1,      0, 0x04E3,      0, 0x04E5,      0, 0x04E7,      0,     // 04E0-04E7
        0x04E9,      0, 0x04EB,      0, 0x04ED,      0, 0x04EF,      0,     // 04E8-04EF
        0x04F1,      0, 0x04F3,      0, 0x04F5,      0, 0x04F7,      0,     // 04F0-04F7
        0x04F9,      0, 0x04FB,      0, 0x04FD,      0, 0x04FF,      0,     // 04F8-04FF
        };
static unsigned cf_05[0x100]={
        0x0501,      0, 0x0503,      0, 0x0505,      0, 0x0507,      0,     // 0500-0507
        0x0509,      0, 0x050B,      0, 0x050D,      0, 0x050F,      0,     // 0508-050F
        0x0511,      0, 0x0513,      0, 0x0515,      0, 0x0517,      0,     // 0510-0517
        0x0519,      0, 0x051B,      0, 0x051D,      0, 0x051F,      0,     // 0518-051F
        0x0521,      0, 0x0523,      0, 0x0525,      0, 0x0527,      0,     // 0520-0527
             0,      0,      0,      0,      0,      0,      0,      0,     // 0528-052F
             0, 0x0561, 0x0562, 0x0563, 0x0564, 0x0565, 0x0566, 0x0567,     // 0530-0537
        0x0568, 0x0569, 0x056A, 0x056B, 0x056C, 0x056D, 0x056E, 0x056F,     // 0538-053F
        0x0570, 0x0571, 0x0572, 0x0573, 0x0574, 0x0575, 0x0576, 0x0577,     // 0540-0547
        0x0578, 0x0579, 0x057A, 0x057B, 0x057C, 0x057D, 0x057E, 0x057F,     // 0548-054F
        0x0580, 0x0581, 0x0582, 0x0583, 0x0584, 0x0585, 0x0586,      0,     // 0550-0557
             0,      0,      0,      0,      0,      0,      0,      0,     // 0558-055F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0560-0567
             0,      0,      0,      0,      0,      0,      0,      0,     // 0568-056F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0570-0577
             0,      0,      0,      0,      0,      0,      0,      0,     // 0578-057F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0580-0587
             0,      0,      0,      0,      0,      0,      0,      0,     // 0588-058F
             0,      0,      0,      0,      0,      0,      0,      0,     // 0590-0597
             0,      0,      0,      0,      0,      0,      0,      0,     // 0598-059F
             0,      0,      0,      0,      0,      0,      0,      0,     // 05A0-05A7
             0,      0,      0,      0,      0,      0,      0,      0,     // 05A8-05AF
             0,      0,      0,      0,      0,      0,      0,      0,     // 05B0-05B7
             0,      0,      0,      0,      0,      0,      0,      0,     // 05B8-05BF
             0,      0,      0,      0,      0,      0,      0,      0,     // 05C0-05C7
             0,      0,      0,      0,      0,      0,      0,      0,     // 05C8-05CF
             0,      0,      0,      0,      0,      0,      0,      0,     // 05D0-05D7
             0,      0,      0,      0,      0,      0,      0,      0,     // 05D8-05DF
             0,      0,      0,      0,      0,      0,      0,      0,     // 05E0-05E7
             0,      0,      0,      0,      0,      0,      0,      0,     // 05E8-05EF
             0,      0,      0,      0,      0,      0,      0,      0,     // 05F0-05F7
             0,      0,      0,      0,      0,      0,      0,      0,     // 05F8-05FF
        };
static unsigned cf_10[0x100]={
             0,      0,      0,      0,      0,      0,      0,      0,     // 1000-1007
             0,      0,      0,      0,      0,      0,      0,      0,     // 1008-100F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1010-1017
             0,      0,      0,      0,      0,      0,      0,      0,     // 1018-101F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1020-1027
             0,      0,      0,      0,      0,      0,      0,      0,     // 1028-102F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1030-1037
             0,      0,      0,      0,      0,      0,      0,      0,     // 1038-103F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1040-1047
             0,      0,      0,      0,      0,      0,      0,      0,     // 1048-104F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1050-1057
             0,      0,      0,      0,      0,      0,      0,      0,     // 1058-105F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1060-1067
             0,      0,      0,      0,      0,      0,      0,      0,     // 1068-106F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1070-1077
             0,      0,      0,      0,      0,      0,      0,      0,     // 1078-107F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1080-1087
             0,      0,      0,      0,      0,      0,      0,      0,     // 1088-108F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1090-1097
             0,      0,      0,      0,      0,      0,      0,      0,     // 1098-109F
        0x2D00, 0x2D01, 0x2D02, 0x2D03, 0x2D04, 0x2D05, 0x2D06, 0x2D07,     // 10A0-10A7
        0x2D08, 0x2D09, 0x2D0A, 0x2D0B, 0x2D0C, 0x2D0D, 0x2D0E, 0x2D0F,     // 10A8-10AF
        0x2D10, 0x2D11, 0x2D12, 0x2D13, 0x2D14, 0x2D15, 0x2D16, 0x2D17,     // 10B0-10B7
        0x2D18, 0x2D19, 0x2D1A, 0x2D1B, 0x2D1C, 0x2D1D, 0x2D1E, 0x2D1F,     // 10B8-10BF
        0x2D20, 0x2D21, 0x2D22, 0x2D23, 0x2D24, 0x2D25,      0,      0,     // 10C0-10C7
             0,      0,      0,      0,      0,      0,      0,      0,     // 10C8-10CF
             0,      0,      0,      0,      0,      0,      0,      0,     // 10D0-10D7
             0,      0,      0,      0,      0,      0,      0,      0,     // 10D8-10DF
             0,      0,      0,      0,      0,      0,      0,      0,     // 10E0-10E7
             0,      0,      0,      0,      0,      0,      0,      0,     // 10E8-10EF
             0,      0,      0,      0,      0,      0,      0,      0,     // 10F0-10F7
             0,      0,      0,      0,      0,      0,      0,      0,     // 10F8-10FF
        };
static unsigned cf_1E[0x100]={
        0x1E01,      0, 0x1E03,      0, 0x1E05,      0, 0x1E07,      0,     // 1E00-1E07
        0x1E09,      0, 0x1E0B,      0, 0x1E0D,      0, 0x1E0F,      0,     // 1E08-1E0F
        0x1E11,      0, 0x1E13,      0, 0x1E15,      0, 0x1E17,      0,     // 1E10-1E17
        0x1E19,      0, 0x1E1B,      0, 0x1E1D,      0, 0x1E1F,      0,     // 1E18-1E1F
        0x1E21,      0, 0x1E23,      0, 0x1E25,      0, 0x1E27,      0,     // 1E20-1E27
        0x1E29,      0, 0x1E2B,      0, 0x1E2D,      0, 0x1E2F,      0,     // 1E28-1E2F
        0x1E31,      0, 0x1E33,      0, 0x1E35,      0, 0x1E37,      0,     // 1E30-1E37
        0x1E39,      0, 0x1E3B,      0, 0x1E3D,      0, 0x1E3F,      0,     // 1E38-1E3F
        0x1E41,      0, 0x1E43,      0, 0x1E45,      0, 0x1E47,      0,     // 1E40-1E47
        0x1E49,      0, 0x1E4B,      0, 0x1E4D,      0, 0x1E4F,      0,     // 1E48-1E4F
        0x1E51,      0, 0x1E53,      0, 0x1E55,      0, 0x1E57,      0,     // 1E50-1E57
        0x1E59,      0, 0x1E5B,      0, 0x1E5D,      0, 0x1E5F,      0,     // 1E58-1E5F
        0x1E61,      0, 0x1E63,      0, 0x1E65,      0, 0x1E67,      0,     // 1E60-1E67
        0x1E69,      0, 0x1E6B,      0, 0x1E6D,      0, 0x1E6F,      0,     // 1E68-1E6F
        0x1E71,      0, 0x1E73,      0, 0x1E75,      0, 0x1E77,      0,     // 1E70-1E77
        0x1E79,      0, 0x1E7B,      0, 0x1E7D,      0, 0x1E7F,      0,     // 1E78-1E7F
        0x1E81,      0, 0x1E83,      0, 0x1E85,      0, 0x1E87,      0,     // 1E80-1E87
        0x1E89,      0, 0x1E8B,      0, 0x1E8D,      0, 0x1E8F,      0,     // 1E88-1E8F
        0x1E91,      0, 0x1E93,      0, 0x1E95,      0,      0,      0,     // 1E90-1E97
             0,      0,      0, 0x1E61,      0,      0, 0x00DF,      0,     // 1E98-1E9F
        0x1EA1,      0, 0x1EA3,      0, 0x1EA5,      0, 0x1EA7,      0,     // 1EA0-1EA7
        0x1EA9,      0, 0x1EAB,      0, 0x1EAD,      0, 0x1EAF,      0,     // 1EA8-1EAF
        0x1EB1,      0, 0x1EB3,      0, 0x1EB5,      0, 0x1EB7,      0,     // 1EB0-1EB7
        0x1EB9,      0, 0x1EBB,      0, 0x1EBD,      0, 0x1EBF,      0,     // 1EB8-1EBF
        0x1EC1,      0, 0x1EC3,      0, 0x1EC5,      0, 0x1EC7,      0,     // 1EC0-1EC7
        0x1EC9,      0, 0x1ECB,      0, 0x1ECD,      0, 0x1ECF,      0,     // 1EC8-1ECF
        0x1ED1,      0, 0x1ED3,      0, 0x1ED5,      0, 0x1ED7,      0,     // 1ED0-1ED7
        0x1ED9,      0, 0x1EDB,      0, 0x1EDD,      0, 0x1EDF,      0,     // 1ED8-1EDF
        0x1EE1,      0, 0x1EE3,      0, 0x1EE5,      0, 0x1EE7,      0,     // 1EE0-1EE7
        0x1EE9,      0, 0x1EEB,      0, 0x1EED,      0, 0x1EEF,      0,     // 1EE8-1EEF
        0x1EF1,      0, 0x1EF3,      0, 0x1EF5,      0, 0x1EF7,      0,     // 1EF0-1EF7
        0x1EF9,      0, 0x1EFB,      0, 0x1EFD,      0, 0x1EFF,      0,     // 1EF8-1EFF
        };
static unsigned cf_1F[0x100]={
             0,      0,      0,      0,      0,      0,      0,      0,     // 1F00-1F07
        0x1F00, 0x1F01, 0x1F02, 0x1F03, 0x1F04, 0x1F05, 0x1F06, 0x1F07,     // 1F08-1F0F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1F10-1F17
        0x1F10, 0x1F11, 0x1F12, 0x1F13, 0x1F14, 0x1F15,      0,      0,     // 1F18-1F1F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1F20-1F27
        0x1F20, 0x1F21, 0x1F22, 0x1F23, 0x1F24, 0x1F25, 0x1F26, 0x1F27,     // 1F28-1F2F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1F30-1F37
        0x1F30, 0x1F31, 0x1F32, 0x1F33, 0x1F34, 0x1F35, 0x1F36, 0x1F37,     // 1F38-1F3F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1F40-1F47
        0x1F40, 0x1F41, 0x1F42, 0x1F43, 0x1F44, 0x1F45,      0,      0,     // 1F48-1F4F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1F50-1F57
             0, 0x1F51,      0, 0x1F53,      0, 0x1F55,      0, 0x1F57,     // 1F58-1F5F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1F60-1F67
        0x1F60, 0x1F61, 0x1F62, 0x1F63, 0x1F64, 0x1F65, 0x1F66, 0x1F67,     // 1F68-1F6F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1F70-1F77
             0,      0,      0,      0,      0,      0,      0,      0,     // 1F78-1F7F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1F80-1F87
        0x1F80, 0x1F81, 0x1F82, 0x1F83, 0x1F84, 0x1F85, 0x1F86, 0x1F87,     // 1F88-1F8F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1F90-1F97
        0x1F90, 0x1F91, 0x1F92, 0x1F93, 0x1F94, 0x1F95, 0x1F96, 0x1F97,     // 1F98-1F9F
             0,      0,      0,      0,      0,      0,      0,      0,     // 1FA0-1FA7
        0x1FA0, 0x1FA1, 0x1FA2, 0x1FA3, 0x1FA4, 0x1FA5, 0x1FA6, 0x1FA7,     // 1FA8-1FAF
             0,      0,      0,      0,      0,      0,      0,      0,     // 1FB0-1FB7
        0x1FB0, 0x1FB1, 0x1F70, 0x1F71, 0x1FB3,      0, 0x03B9,      0,     // 1FB8-1FBF
             0,      0,      0,      0,      0,      0,      0,      0,     // 1FC0-1FC7
        0x1F72, 0x1F73, 0x1F74, 0x1F75, 0x1FC3,      0,      0,      0,     // 1FC8-1FCF
             0,      0,      0,      0,      0,      0,      0,      0,     // 1FD0-1FD7
        0x1FD0, 0x1FD1, 0x1F76, 0x1F77,      0,      0,      0,      0,     // 1FD8-1FDF
             0,      0,      0,      0,      0,      0,      0,      0,     // 1FE0-1FE7
        0x1FE0, 0x1FE1, 0x1F7A, 0x1F7B, 0x1FE5,      0,      0,      0,     // 1FE8-1FEF
             0,      0,      0,      0,      0,      0,      0,      0,     // 1FF0-1FF7
        0x1F78, 0x1F79, 0x1F7C, 0x1F7D, 0x1FF3,      0,      0,      0,     // 1FF8-1FFF
        };
static unsigned cf_21[0x100]={
             0,      0,      0,      0,      0,      0,      0,      0,     // 2100-2107
             0,      0,      0,      0,      0,      0,      0,      0,     // 2108-210F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2110-2117
             0,      0,      0,      0,      0,      0,      0,      0,     // 2118-211F
             0,      0,      0,      0,      0,      0, 0x03C9,      0,     // 2120-2127
             0,      0, 0x006B, 0x00E5,      0,      0,      0,      0,     // 2128-212F
             0,      0, 0x214E,      0,      0,      0,      0,      0,     // 2130-2137
             0,      0,      0,      0,      0,      0,      0,      0,     // 2138-213F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2140-2147
             0,      0,      0,      0,      0,      0,      0,      0,     // 2148-214F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2150-2157
             0,      0,      0,      0,      0,      0,      0,      0,     // 2158-215F
        0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177,     // 2160-2167
        0x2178, 0x2179, 0x217A, 0x217B, 0x217C, 0x217D, 0x217E, 0x217F,     // 2168-216F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2170-2177
             0,      0,      0,      0,      0,      0,      0,      0,     // 2178-217F
             0,      0,      0, 0x2184,      0,      0,      0,      0,     // 2180-2187
             0,      0,      0,      0,      0,      0,      0,      0,     // 2188-218F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2190-2197
             0,      0,      0,      0,      0,      0,      0,      0,     // 2198-219F
             0,      0,      0,      0,      0,      0,      0,      0,     // 21A0-21A7
             0,      0,      0,      0,      0,      0,      0,      0,     // 21A8-21AF
             0,      0,      0,      0,      0,      0,      0,      0,     // 21B0-21B7
             0,      0,      0,      0,      0,      0,      0,      0,     // 21B8-21BF
             0,      0,      0,      0,      0,      0,      0,      0,     // 21C0-21C7
             0,      0,      0,      0,      0,      0,      0,      0,     // 21C8-21CF
             0,      0,      0,      0,      0,      0,      0,      0,     // 21D0-21D7
             0,      0,      0,      0,      0,      0,      0,      0,     // 21D8-21DF
             0,      0,      0,      0,      0,      0,      0,      0,     // 21E0-21E7
             0,      0,      0,      0,      0,      0,      0,      0,     // 21E8-21EF
             0,      0,      0,      0,      0,      0,      0,      0,     // 21F0-21F7
             0,      0,      0,      0,      0,      0,      0,      0,     // 21F8-21FF
        };
static unsigned cf_24[0x100]={
             0,      0,      0,      0,      0,      0,      0,      0,     // 2400-2407
             0,      0,      0,      0,      0,      0,      0,      0,     // 2408-240F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2410-2417
             0,      0,      0,      0,      0,      0,      0,      0,     // 2418-241F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2420-2427
             0,      0,      0,      0,      0,      0,      0,      0,     // 2428-242F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2430-2437
             0,      0,      0,      0,      0,      0,      0,      0,     // 2438-243F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2440-2447
             0,      0,      0,      0,      0,      0,      0,      0,     // 2448-244F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2450-2457
             0,      0,      0,      0,      0,      0,      0,      0,     // 2458-245F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2460-2467
             0,      0,      0,      0,      0,      0,      0,      0,     // 2468-246F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2470-2477
             0,      0,      0,      0,      0,      0,      0,      0,     // 2478-247F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2480-2487
             0,      0,      0,      0,      0,      0,      0,      0,     // 2488-248F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2490-2497
             0,      0,      0,      0,      0,      0,      0,      0,     // 2498-249F
             0,      0,      0,      0,      0,      0,      0,      0,     // 24A0-24A7
             0,      0,      0,      0,      0,      0,      0,      0,     // 24A8-24AF
             0,      0,      0,      0,      0,      0, 0x24D0, 0x24D1,     // 24B0-24B7
        0x24D2, 0x24D3, 0x24D4, 0x24D5, 0x24D6, 0x24D7, 0x24D8, 0x24D9,     // 24B8-24BF
        0x24DA, 0x24DB, 0x24DC, 0x24DD, 0x24DE, 0x24DF, 0x24E0, 0x24E1,     // 24C0-24C7
        0x24E2, 0x24E3, 0x24E4, 0x24E5, 0x24E6, 0x24E7, 0x24E8, 0x24E9,     // 24C8-24CF
             0,      0,      0,      0,      0,      0,      0,      0,     // 24D0-24D7
             0,      0,      0,      0,      0,      0,      0,      0,     // 24D8-24DF
             0,      0,      0,      0,      0,      0,      0,      0,     // 24E0-24E7
             0,      0,      0,      0,      0,      0,      0,      0,     // 24E8-24EF
             0,      0,      0,      0,      0,      0,      0,      0,     // 24F0-24F7
             0,      0,      0,      0,      0,      0,      0,      0,     // 24F8-24FF
        };
static unsigned cf_2C[0x100]={
        0x2C30, 0x2C31, 0x2C32, 0x2C33, 0x2C34, 0x2C35, 0x2C36, 0x2C37,     // 2C00-2C07
        0x2C38, 0x2C39, 0x2C3A, 0x2C3B, 0x2C3C, 0x2C3D, 0x2C3E, 0x2C3F,     // 2C08-2C0F
        0x2C40, 0x2C41, 0x2C42, 0x2C43, 0x2C44, 0x2C45, 0x2C46, 0x2C47,     // 2C10-2C17
        0x2C48, 0x2C49, 0x2C4A, 0x2C4B, 0x2C4C, 0x2C4D, 0x2C4E, 0x2C4F,     // 2C18-2C1F
        0x2C50, 0x2C51, 0x2C52, 0x2C53, 0x2C54, 0x2C55, 0x2C56, 0x2C57,     // 2C20-2C27
        0x2C58, 0x2C59, 0x2C5A, 0x2C5B, 0x2C5C, 0x2C5D, 0x2C5E,      0,     // 2C28-2C2F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2C30-2C37
             0,      0,      0,      0,      0,      0,      0,      0,     // 2C38-2C3F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2C40-2C47
             0,      0,      0,      0,      0,      0,      0,      0,     // 2C48-2C4F
             0,      0,      0,      0,      0,      0,      0,      0,     // 2C50-2C57
             0,      0,      0,      0,      0,      0,      0,      0,     // 2C58-2C5F
        0x2C61,      0, 0x026B, 0x1D7D, 0x027D,      0,      0, 0x2C68,     // 2C60-2C67
             0, 0x2C6A,      0, 0x2C6C,      0, 0x0251, 0x0271, 0x0250,     // 2C68-2C6F
        0x0252,      0, 0x2C73,      0,      0, 0x2C76,      0,      0,     // 2C70-2C77
             0,      0,      0,      0,      0,      0, 0x023F, 0x0240,     // 2C78-2C7F
        0x2C81,      0, 0x2C83,      0, 0x2C85,      0, 0x2C87,      0,     // 2C80-2C87
        0x2C89,      0, 0x2C8B,      0, 0x2C8D,      0, 0x2C8F,      0,     // 2C88-2C8F
        0x2C91,      0, 0x2C93,      0, 0x2C95,      0, 0x2C97,      0,     // 2C90-2C97
        0x2C99,      0, 0x2C9B,      0, 0x2C9D,      0, 0x2C9F,      0,     // 2C98-2C9F
        0x2CA1,      0, 0x2CA3,      0, 0x2CA5,      0, 0x2CA7,      0,     // 2CA0-2CA7
        0x2CA9,      0, 0x2CAB,      0, 0x2CAD,      0, 0x2CAF,      0,     // 2CA8-2CAF
        0x2CB1,      0, 0x2CB3,      0, 0x2CB5,      0, 0x2CB7,      0,     // 2CB0-2CB7
        0x2CB9,      0, 0x2CBB,      0, 0x2CBD,      0, 0x2CBF,      0,     // 2CB8-2CBF
        0x2CC1,      0, 0x2CC3,      0, 0x2CC5,      0, 0x2CC7,      0,     // 2CC0-2CC7
        0x2CC9,      0, 0x2CCB,      0, 0x2CCD,      0, 0x2CCF,      0,     // 2CC8-2CCF
        0x2CD1,      0, 0x2CD3,      0, 0x2CD5,      0, 0x2CD7,      0,     // 2CD0-2CD7
        0x2CD9,      0, 0x2CDB,      0, 0x2CDD,      0, 0x2CDF,      0,     // 2CD8-2CDF
        0x2CE1,      0, 0x2CE3,      0,      0,      0,      0,      0,     // 2CE0-2CE7
             0,      0,      0, 0x2CEC,      0, 0x2CEE,      0,      0,     // 2CE8-2CEF
             0,      0,      0,      0,      0,      0,      0,      0,     // 2CF0-2CF7
             0,      0,      0,      0,      0,      0,      0,      0,     // 2CF8-2CFF
        };
static unsigned cf_A6[0x100]={
             0,      0,      0,      0,      0,      0,      0,      0,     // A600-A607
             0,      0,      0,      0,      0,      0,      0,      0,     // A608-A60F
             0,      0,      0,      0,      0,      0,      0,      0,     // A610-A617
             0,      0,      0,      0,      0,      0,      0,      0,     // A618-A61F
             0,      0,      0,      0,      0,      0,      0,      0,     // A620-A627
             0,      0,      0,      0,      0,      0,      0,      0,     // A628-A62F
             0,      0,      0,      0,      0,      0,      0,      0,     // A630-A637
             0,      0,      0,      0,      0,      0,      0,      0,     // A638-A63F
        0xA641,      0, 0xA643,      0, 0xA645,      0, 0xA647,      0,     // A640-A647
        0xA649,      0, 0xA64B,      0, 0xA64D,      0, 0xA64F,      0,     // A648-A64F
        0xA651,      0, 0xA653,      0, 0xA655,      0, 0xA657,      0,     // A650-A657
        0xA659,      0, 0xA65B,      0, 0xA65D,      0, 0xA65F,      0,     // A658-A65F
        0xA661,      0, 0xA663,      0, 0xA665,      0, 0xA667,      0,     // A660-A667
        0xA669,      0, 0xA66B,      0, 0xA66D,      0,      0,      0,     // A668-A66F
             0,      0,      0,      0,      0,      0,      0,      0,     // A670-A677
             0,      0,      0,      0,      0,      0,      0,      0,     // A678-A67F
        0xA681,      0, 0xA683,      0, 0xA685,      0, 0xA687,      0,     // A680-A687
        0xA689,      0, 0xA68B,      0, 0xA68D,      0, 0xA68F,      0,     // A688-A68F
        0xA691,      0, 0xA693,      0, 0xA695,      0, 0xA697,      0,     // A690-A697
             0,      0,      0,      0,      0,      0,      0,      0,     // A698-A69F
             0,      0,      0,      0,      0,      0,      0,      0,     // A6A0-A6A7
             0,      0,      0,      0,      0,      0,      0,      0,     // A6A8-A6AF
             0,      0,      0,      0,      0,      0,      0,      0,     // A6B0-A6B7
             0,      0,      0,      0,      0,      0,      0,      0,     // A6B8-A6BF
             0,      0,      0,      0,      0,      0,      0,      0,     // A6C0-A6C7
             0,      0,      0,      0,      0,      0,      0,      0,     // A6C8-A6CF
             0,      0,      0,      0,      0,      0,      0,      0,     // A6D0-A6D7
             0,      0,      0,      0,      0,      0,      0,      0,     // A6D8-A6DF
             0,      0,      0,      0,      0,      0,      0,      0,     // A6E0-A6E7
             0,      0,      0,      0,      0,      0,      0,      0,     // A6E8-A6EF
             0,      0,      0,      0,      0,      0,      0,      0,     // A6F0-A6F7
             0,      0,      0,      0,      0,      0,      0,      0,     // A6F8-A6FF
        };
static unsigned cf_A7[0x100]={
             0,      0,      0,      0,      0,      0,      0,      0,     // A700-A707
             0,      0,      0,      0,      0,      0,      0,      0,     // A708-A70F
             0,      0,      0,      0,      0,      0,      0,      0,     // A710-A717
             0,      0,      0,      0,      0,      0,      0,      0,     // A718-A71F
             0,      0, 0xA723,      0, 0xA725,      0, 0xA727,      0,     // A720-A727
        0xA729,      0, 0xA72B,      0, 0xA72D,      0, 0xA72F,      0,     // A728-A72F
             0,      0, 0xA733,      0, 0xA735,      0, 0xA737,      0,     // A730-A737
        0xA739,      0, 0xA73B,      0, 0xA73D,      0, 0xA73F,      0,     // A738-A73F
        0xA741,      0, 0xA743,      0, 0xA745,      0, 0xA747,      0,     // A740-A747
        0xA749,      0, 0xA74B,      0, 0xA74D,      0, 0xA74F,      0,     // A748-A74F
        0xA751,      0, 0xA753,      0, 0xA755,      0, 0xA757,      0,     // A750-A757
        0xA759,      0, 0xA75B,      0, 0xA75D,      0, 0xA75F,      0,     // A758-A75F
        0xA761,      0, 0xA763,      0, 0xA765,      0, 0xA767,      0,     // A760-A767
        0xA769,      0, 0xA76B,      0, 0xA76D,      0, 0xA76F,      0,     // A768-A76F
             0,      0,      0,      0,      0,      0,      0,      0,     // A770-A777
             0, 0xA77A,      0, 0xA77C,      0, 0x1D79, 0xA77F,      0,     // A778-A77F
        0xA781,      0, 0xA783,      0, 0xA785,      0, 0xA787,      0,     // A780-A787
             0,      0,      0, 0xA78C,      0, 0x0265,      0,      0,     // A788-A78F
        0xA791,      0,      0,      0,      0,      0,      0,      0,     // A790-A797
             0,      0,      0,      0,      0,      0,      0,      0,     // A798-A79F
        0xA7A1,      0, 0xA7A3,      0, 0xA7A5,      0, 0xA7A7,      0,     // A7A0-A7A7
        0xA7A9,      0,      0,      0,      0,      0,      0,      0,     // A7A8-A7AF
             0,      0,      0,      0,      0,      0,      0,      0,     // A7B0-A7B7
             0,      0,      0,      0,      0,      0,      0,      0,     // A7B8-A7BF
             0,      0,      0,      0,      0,      0,      0,      0,     // A7C0-A7C7
             0,      0,      0,      0,      0,      0,      0,      0,     // A7C8-A7CF
             0,      0,      0,      0,      0,      0,      0,      0,     // A7D0-A7D7
             0,      0,      0,      0,      0,      0,      0,      0,     // A7D8-A7DF
             0,      0,      0,      0,      0,      0,      0,      0,     // A7E0-A7E7
             0,      0,      0,      0,      0,      0,      0,      0,     // A7E8-A7EF
             0,      0,      0,      0,      0,      0,      0,      0,     // A7F0-A7F7
             0,      0,      0,      0,      0,      0,      0,      0,     // A7F8-A7FF
        };
static unsigned cf_FF[0x100]={
             0,      0,      0,      0,      0,      0,      0,      0,     // FF00-FF07
             0,      0,      0,      0,      0,      0,      0,      0,     // FF08-FF0F
             0,      0,      0,      0,      0,      0,      0,      0,     // FF10-FF17
             0,      0,      0,      0,      0,      0,      0,      0,     // FF18-FF1F
             0, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47,     // FF20-FF27
        0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F,     // FF28-FF2F
        0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57,     // FF30-FF37
        0xFF58, 0xFF59, 0xFF5A,      0,      0,      0,      0,      0,     // FF38-FF3F
             0,      0,      0,      0,      0,      0,      0,      0,     // FF40-FF47
             0,      0,      0,      0,      0,      0,      0,      0,     // FF48-FF4F
             0,      0,      0,      0,      0,      0,      0,      0,     // FF50-FF57
             0,      0,      0,      0,      0,      0,      0,      0,     // FF58-FF5F
             0,      0,      0,      0,      0,      0,      0,      0,     // FF60-FF67
             0,      0,      0,      0,      0,      0,      0,      0,     // FF68-FF6F
             0,      0,      0,      0,      0,      0,      0,      0,     // FF70-FF77
             0,      0,      0,      0,      0,      0,      0,      0,     // FF78-FF7F
             0,      0,      0,      0,      0,      0,      0,      0,     // FF80-FF87
             0,      0,      0,      0,      0,      0,      0,      0,     // FF88-FF8F
             0,      0,      0,      0,      0,      0,      0,      0,     // FF90-FF97
             0,      0,      0,      0,      0,      0,      0,      0,     // FF98-FF9F
             0,      0,      0,      0,      0,      0,      0,      0,     // FFA0-FFA7
             0,      0,      0,      0,      0,      0,      0,      0,     // FFA8-FFAF
             0,      0,      0,      0,      0,      0,      0,      0,     // FFB0-FFB7
             0,      0,      0,      0,      0,      0,      0,      0,     // FFB8-FFBF
             0,      0,      0,      0,      0,      0,      0,      0,     // FFC0-FFC7
             0,      0,      0,      0,      0,      0,      0,      0,     // FFC8-FFCF
             0,      0,      0,      0,      0,      0,      0,      0,     // FFD0-FFD7
             0,      0,      0,      0,      0,      0,      0,      0,     // FFD8-FFDF
             0,      0,      0,      0,      0,      0,      0,      0,     // FFE0-FFE7
             0,      0,      0,      0,      0,      0,      0,      0,     // FFE8-FFEF
             0,      0,      0,      0,      0,      0,      0,      0,     // FFF0-FFF7
             0,      0,      0,      0,      0,      0,      0,      0,     // FFF8-FFFF
        };
static unsigned cf_104[0x100]={
        0x10428, 0x10429, 0x1042A, 0x1042B, 0x1042C, 0x1042D, 0x1042E, 0x1042F,     // 10400-10407
        0x10430, 0x10431, 0x10432, 0x10433, 0x10434, 0x10435, 0x10436, 0x10437,     // 10408-1040F
        0x10438, 0x10439, 0x1043A, 0x1043B, 0x1043C, 0x1043D, 0x1043E, 0x1043F,     // 10410-10417
        0x10440, 0x10441, 0x10442, 0x10443, 0x10444, 0x10445, 0x10446, 0x10447,     // 10418-1041F
        0x10448, 0x10449, 0x1044A, 0x1044B, 0x1044C, 0x1044D, 0x1044E, 0x1044F,     // 10420-10427
             0,      0,      0,      0,      0,      0,      0,      0,     // 10428-1042F
             0,      0,      0,      0,      0,      0,      0,      0,     // 10430-10437
             0,      0,      0,      0,      0,      0,      0,      0,     // 10438-1043F
             0,      0,      0,      0,      0,      0,      0,      0,     // 10440-10447
             0,      0,      0,      0,      0,      0,      0,      0,     // 10448-1044F
             0,      0,      0,      0,      0,      0,      0,      0,     // 10450-10457
             0,      0,      0,      0,      0,      0,      0,      0,     // 10458-1045F
             0,      0,      0,      0,      0,      0,      0,      0,     // 10460-10467
             0,      0,      0,      0,      0,      0,      0,      0,     // 10468-1046F
             0,      0,      0,      0,      0,      0,      0,      0,     // 10470-10477
             0,      0,      0,      0,      0,      0,      0,      0,     // 10478-1047F
             0,      0,      0,      0,      0,      0,      0,      0,     // 10480-10487
             0,      0,      0,      0,      0,      0,      0,      0,     // 10488-1048F
             0,      0,      0,      0,      0,      0,      0,      0,     // 10490-10497
             0,      0,      0,      0,      0,      0,      0,      0,     // 10498-1049F
             0,      0,      0,      0,      0,      0,      0,      0,     // 104A0-104A7
             0,      0,      0,      0,      0,      0,      0,      0,     // 104A8-104AF
             0,      0,      0,      0,      0,      0,      0,      0,     // 104B0-104B7
             0,      0,      0,      0,      0,      0,      0,      0,     // 104B8-104BF
             0,      0,      0,      0,      0,      0,      0,      0,     // 104C0-104C7
             0,      0,      0,      0,      0,      0,      0,      0,     // 104C8-104CF
             0,      0,      0,      0,      0,      0,      0,      0,     // 104D0-104D7
             0,      0,      0,      0,      0,      0,      0,      0,     // 104D8-104DF
             0,      0,      0,      0,      0,      0,      0,      0,     // 104E0-104E7
             0,      0,      0,      0,      0,      0,      0,      0,     // 104E8-104EF
             0,      0,      0,      0,      0,      0,      0,      0,     // 104F0-104F7
             0,      0,      0,      0,      0,      0,      0,      0,     // 104F8-104FF
        };
static unsigned *casefold[]={
		 cf_00,  cf_01,  cf_02,  cf_03,  cf_04,  cf_05,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		 cf_10,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,  cf_1E,  cf_1F,
		     0,  cf_21,      0,      0,  cf_24,      0,      0,      0,
		     0,      0,      0,      0,  cf_2C,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,  cf_A6,  cf_A7,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,      0,
		     0,      0,      0,      0,      0,      0,      0,  cf_FF,
		     0,      0,      0,      0, cf_104, };

//-----------------------------------------------------------------------

static unsigned nfct_003[0x100]={0x081A9FDF, 0x010361F8, 0x0000003F, 0x40100000, 0x00000080, 0, 0, 0};
static unsigned nfct_006[0x100]={0, 0, 0x00380000, 0, 0, 0, 0, 0};
static unsigned nfct_009[0x100]={0, 0x10000000, 0xFF000000, 0, 0, 0x40000000, 0xB0800000, 0};
static unsigned nfct_00A[0x100]={0, 0x00480000, 0x4E000000, 0, 0, 0, 0, 0};
static unsigned nfct_00B[0x100]={0, 0x40000000, 0x30C00000, 0, 0, 0x40000000, 0x00800000, 0};
static unsigned nfct_00C[0x100]={0, 0, 0x00400000, 0, 0, 0, 0x00600004, 0};
static unsigned nfct_00D[0x100]={0, 0x40000000, 0x00800000, 0, 0, 0, 0x80008400, 0};
static unsigned nfct_00F[0x100]={0, 0, 0x10842008, 0x01680200, 0x20080002, 0x02001084, 0, 0};
static unsigned nfct_010[0x100]={0, 0x00004000, 0, 0, 0, 0, 0, 0};
static unsigned nfct_011[0x100]={0, 0, 0, 0x003FFFFE, 0, 0xFFFFFF00, 0x00000007, 0};
static unsigned nfct_01B[0x100]={0, 0x00200000, 0, 0, 0, 0, 0, 0};
static unsigned nfct_01F[0x100]={0, 0, 0, 0x2AAA0000, 0, 0x48000000, 0x08080A00, 0x2A00C808};
static unsigned nfct_020[0x100]={0x00000003, 0, 0, 0, 0, 0, 0, 0};
static unsigned nfct_021[0x100]={0, 0x00000C40, 0, 0, 0, 0, 0, 0};
static unsigned nfct_023[0x100]={0, 0x00000600, 0, 0, 0, 0, 0, 0};
static unsigned nfct_02A[0x100]={0, 0, 0, 0, 0, 0, 0x10000000, 0};
static unsigned nfct_030[0x100]={0, 0, 0, 0, 0x06000000, 0, 0, 0};
static unsigned nfct_0F9[0x100]={0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF};
static unsigned nfct_0FA[0x100]={0x7FE53FFF, 0xFFFF3C65, 0xFFFFFFFF, 0xFFFF3FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF, 0};
static unsigned nfct_0FB[0x100]={0xA0000000, 0x5F7FFC00, 0x00007FDB, 0, 0, 0, 0, 0};
static unsigned nfct_110[0x100]={0, 0, 0, 0, 0, 0x04000000, 0, 0};
static unsigned nfct_1D1[0x100]={0, 0, 0xC0000000, 0x0000001F, 0, 0xF8000000, 0x00000001, 0};
static unsigned nfct_2F8[0x100]={0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF};
static unsigned nfct_2F9[0x100]={0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF};
static unsigned nfct_2FA[0x100]={0x3FFFFFFF, 0, 0, 0, 0, 0, 0, 0};
static unsigned *nfc_test[]={
		        0,         0,         0,  nfct_003,         0,         0,  nfct_006,         0,
		        0,  nfct_009,  nfct_00A,  nfct_00B,  nfct_00C,  nfct_00D,         0,  nfct_00F,
		 nfct_010,  nfct_011,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,  nfct_01B,         0,         0,         0,  nfct_01F,
		 nfct_020,  nfct_021,         0,  nfct_023,         0,         0,         0,         0,
		        0,         0,  nfct_02A,         0,         0,         0,         0,         0,
		 nfct_030,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,  nfct_0F9,  nfct_0FA,  nfct_0FB,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		 nfct_110,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,  nfct_1D1,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		        0,         0,         0,         0,         0,         0,         0,         0,
		 nfct_2F8,  nfct_2F9,  nfct_2FA,         0,         0,         0,         0,         0};
//-----------------------------------------------------------------------

static unsigned char cc_0030x[16] = {230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230};
static unsigned char cc_0031x[16] = {230, 230, 230, 230, 230, 232, 220, 220, 220, 220, 232, 216, 220, 220, 220, 220};
static unsigned char cc_0032x[16] = {220, 202, 202, 220, 220, 220, 220, 202, 202, 220, 220, 220, 220, 220, 220, 220};
static unsigned char cc_0033x[16] = {220, 220, 220, 220, 1, 1, 1, 1, 1, 220, 220, 220, 220, 230, 230, 230};
static unsigned char cc_0034x[16] = {230, 230, 230, 230, 230, 240, 230, 220, 220, 220, 230, 230, 230, 220, 220, 0};
static unsigned char cc_0035x[16] = {230, 230, 230, 220, 220, 220, 220, 230, 232, 220, 220, 230, 233, 234, 234, 233};
static unsigned char cc_0036x[16] = {234, 234, 233, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230};
static unsigned char cc_0048x[16] = {0, 0, 0, 230, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0059x[16] = {0, 220, 230, 230, 230, 230, 220, 230, 230, 230, 222, 220, 230, 230, 230, 230};
static unsigned char cc_005Ax[16] = {230, 230, 220, 220, 220, 220, 220, 220, 230, 230, 220, 230, 230, 222, 228, 230};
static unsigned char cc_005Bx[16] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 0, 23};
static unsigned char cc_005Cx[16] = {0, 24, 25, 0, 230, 220, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0061x[16] = {230, 230, 230, 230, 230, 230, 230, 230, 30, 31, 32, 0, 0, 0, 0, 0};
static unsigned char cc_0064x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 29, 30, 31};
static unsigned char cc_0065x[16] = {32, 33, 34, 230, 230, 220, 220, 230, 230, 230, 230, 230, 220, 230, 230, 220};
static unsigned char cc_0067x[16] = {35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_006Dx[16] = {0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 230, 230, 230, 0, 0, 230};
static unsigned char cc_006Ex[16] = {230, 230, 230, 220, 230, 0, 0, 230, 230, 0, 220, 230, 230, 220, 0, 0};
static unsigned char cc_0071x[16] = {0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0073x[16] = {230, 220, 230, 230, 220, 230, 230, 220, 220, 220, 230, 220, 220, 230, 220, 230};
static unsigned char cc_0074x[16] = {230, 230, 220, 230, 220, 230, 220, 230, 220, 230, 230, 0, 0, 0, 0, 0};
static unsigned char cc_007Ex[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 230};
static unsigned char cc_007Fx[16] = {230, 230, 220, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0081x[16] = {0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 0, 230, 230, 230, 230, 230};
static unsigned char cc_0082x[16] = {230, 230, 230, 230, 0, 230, 230, 230, 0, 230, 230, 230, 230, 230, 0, 0};
static unsigned char cc_0085x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 220, 220, 0, 0, 0, 0};
static unsigned char cc_0093x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0};
static unsigned char cc_0094x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0};
static unsigned char cc_0095x[16] = {0, 230, 220, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_009Bx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0};
static unsigned char cc_009Cx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0};
static unsigned char cc_00A3x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0};
static unsigned char cc_00A4x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0};
static unsigned char cc_00ABx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0};
static unsigned char cc_00ACx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0};
static unsigned char cc_00B3x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0};
static unsigned char cc_00B4x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0};
static unsigned char cc_00BCx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0};
static unsigned char cc_00C4x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0};
static unsigned char cc_00C5x[16] = {0, 0, 0, 0, 0, 84, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_00CBx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0};
static unsigned char cc_00CCx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0};
static unsigned char cc_00D4x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0};
static unsigned char cc_00DCx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0};
static unsigned char cc_00E3x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 103, 103, 9, 0, 0, 0, 0, 0};
static unsigned char cc_00E4x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 107, 107, 107, 107, 0, 0, 0, 0};
static unsigned char cc_00EBx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 118, 118, 0, 0, 0, 0, 0, 0};
static unsigned char cc_00ECx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 122, 122, 122, 122, 0, 0, 0, 0};
static unsigned char cc_00F1x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 220, 220, 0, 0, 0, 0, 0, 0};
static unsigned char cc_00F3x[16] = {0, 0, 0, 0, 0, 220, 0, 220, 0, 216, 0, 0, 0, 0, 0, 0};
static unsigned char cc_00F7x[16] = {0, 129, 130, 0, 132, 0, 0, 0, 0, 0, 130, 130, 130, 130, 0, 0};
static unsigned char cc_00F8x[16] = {130, 0, 230, 230, 9, 0, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_00FCx[16] = {0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0103x[16] = {0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 9, 0, 0, 0, 0, 0};
static unsigned char cc_0108x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0};
static unsigned char cc_0135x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230};
static unsigned char cc_0171x[16] = {0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0173x[16] = {0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_017Dx[16] = {0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 0};
static unsigned char cc_018Ax[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0193x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 230, 220, 0, 0, 0, 0};
static unsigned char cc_01A1x[16] = {0, 0, 0, 0, 0, 0, 0, 230, 220, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_01A6x[16] = {9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_01A7x[16] = {0, 0, 0, 0, 0, 230, 230, 230, 230, 230, 230, 230, 230, 0, 0, 220};
static unsigned char cc_01B3x[16] = {0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_01B4x[16] = {0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_01B6x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 220, 230, 230, 230};
static unsigned char cc_01B7x[16] = {230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_01BAx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0};
static unsigned char cc_01BEx[16] = {0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_01BFx[16] = {0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_01C3x[16] = {0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_01CDx[16] = {230, 230, 230, 0, 1, 220, 220, 220, 220, 220, 230, 230, 220, 220, 220, 220};
static unsigned char cc_01CEx[16] = {230, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 220, 0, 0};
static unsigned char cc_01DCx[16] = {230, 230, 220, 230, 230, 230, 230, 230, 230, 230, 220, 230, 230, 234, 214, 220};
static unsigned char cc_01DDx[16] = {202, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230};
static unsigned char cc_01DEx[16] = {230, 230, 230, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_01DFx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 220, 230, 220};
static unsigned char cc_020Dx[16] = {230, 230, 1, 1, 230, 230, 230, 230, 1, 1, 1, 230, 230, 0, 0, 0};
static unsigned char cc_020Ex[16] = {0, 230, 0, 0, 0, 1, 1, 230, 220, 230, 1, 1, 220, 220, 220, 220};
static unsigned char cc_020Fx[16] = {230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_02CEx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230};
static unsigned char cc_02CFx[16] = {230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_02D7x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9};
static unsigned char cc_02DEx[16] = {230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230};
static unsigned char cc_02DFx[16] = {230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230};
static unsigned char cc_0302x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 228, 232, 222, 224, 224};
static unsigned char cc_0309x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0};
static unsigned char cc_0A66x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230};
static unsigned char cc_0A67x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 0, 0};
static unsigned char cc_0A6Fx[16] = {230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0A80x[16] = {0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0A8Cx[16] = {0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0A8Ex[16] = {230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230};
static unsigned char cc_0A8Fx[16] = {230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0A92x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 220, 220, 0, 0};
static unsigned char cc_0A95x[16] = {0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0A9Bx[16] = {0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0A9Cx[16] = {9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0AABx[16] = {230, 0, 230, 230, 220, 0, 0, 230, 230, 0, 0, 0, 0, 0, 230, 230};
static unsigned char cc_0AACx[16] = {0, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_0ABEx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0};
static unsigned char cc_0FB1x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0};
static unsigned char cc_0FE2x[16] = {230, 230, 230, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_101Fx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0};
static unsigned char cc_10A0x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 230};
static unsigned char cc_10A3x[16] = {0, 0, 0, 0, 0, 0, 0, 0, 230, 1, 220, 0, 0, 0, 0, 9};
static unsigned char cc_1104x[16] = {0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char cc_110Bx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 7, 0, 0, 0, 0, 0};
static unsigned char cc_1D16x[16] = {0, 0, 0, 0, 0, 216, 216, 1, 1, 1, 0, 0, 0, 226, 216, 216};
static unsigned char cc_1D17x[16] = {216, 216, 216, 0, 0, 0, 0, 0, 0, 0, 0, 220, 220, 220, 220, 220};
static unsigned char cc_1D18x[16] = {220, 220, 220, 0, 0, 230, 230, 230, 230, 230, 220, 220, 0, 0, 0, 0};
static unsigned char cc_1D1Ax[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 0, 0};
static unsigned char cc_1D24x[16] = {0, 0, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char *cc_003xx[16] = {cc_0030x, cc_0031x, cc_0032x, cc_0033x, cc_0034x, cc_0035x, cc_0036x, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char *cc_004xx[16] = {0, 0, 0, 0, 0, 0, 0, 0, cc_0048x, 0, 0, 0, 0, 0, 0, 0};
static unsigned char *cc_005xx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, cc_0059x, cc_005Ax, cc_005Bx, cc_005Cx, 0, 0, 0};
static unsigned char *cc_006xx[16] = {0, cc_0061x, 0, 0, cc_0064x, cc_0065x, 0, cc_0067x, 0, 0, 0, 0, 0, cc_006Dx, cc_006Ex, 0};
static unsigned char *cc_007xx[16] = {0, cc_0071x, 0, cc_0073x, cc_0074x, 0, 0, 0, 0, 0, 0, 0, 0, 0, cc_007Ex, cc_007Fx};
static unsigned char *cc_008xx[16] = {0, cc_0081x, cc_0082x, 0, 0, cc_0085x, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char *cc_009xx[16] = {0, 0, 0, cc_0093x, cc_0094x, cc_0095x, 0, 0, 0, 0, 0, cc_009Bx, cc_009Cx, 0, 0, 0};
static unsigned char *cc_00Axx[16] = {0, 0, 0, cc_00A3x, cc_00A4x, 0, 0, 0, 0, 0, 0, cc_00ABx, cc_00ACx, 0, 0, 0};
static unsigned char *cc_00Bxx[16] = {0, 0, 0, cc_00B3x, cc_00B4x, 0, 0, 0, 0, 0, 0, 0, cc_00BCx, 0, 0, 0};
static unsigned char *cc_00Cxx[16] = {0, 0, 0, 0, cc_00C4x, cc_00C5x, 0, 0, 0, 0, 0, cc_00CBx, cc_00CCx, 0, 0, 0};
static unsigned char *cc_00Dxx[16] = {0, 0, 0, 0, cc_00D4x, 0, 0, 0, 0, 0, 0, 0, cc_00DCx, 0, 0, 0};
static unsigned char *cc_00Exx[16] = {0, 0, 0, cc_00E3x, cc_00E4x, 0, 0, 0, 0, 0, 0, cc_00EBx, cc_00ECx, 0, 0, 0};
static unsigned char *cc_00Fxx[16] = {0, cc_00F1x, 0, cc_00F3x, 0, 0, 0, cc_00F7x, cc_00F8x, 0, 0, 0, cc_00FCx, 0, 0, 0};
static unsigned char *cc_010xx[16] = {0, 0, 0, cc_0103x, 0, 0, 0, 0, cc_0108x, 0, 0, 0, 0, 0, 0, 0};
static unsigned char *cc_013xx[16] = {0, 0, 0, 0, 0, cc_0135x, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char *cc_017xx[16] = {0, cc_0171x, 0, cc_0173x, 0, 0, 0, 0, 0, 0, 0, 0, 0, cc_017Dx, 0, 0};
static unsigned char *cc_018xx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, cc_018Ax, 0, 0, 0, 0, 0};
static unsigned char *cc_019xx[16] = {0, 0, 0, cc_0193x, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char *cc_01Axx[16] = {0, cc_01A1x, 0, 0, 0, 0, cc_01A6x, cc_01A7x, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char *cc_01Bxx[16] = {0, 0, 0, cc_01B3x, cc_01B4x, 0, cc_01B6x, cc_01B7x, 0, 0, cc_01BAx, 0, 0, 0, cc_01BEx, cc_01BFx};
static unsigned char *cc_01Cxx[16] = {0, 0, 0, cc_01C3x, 0, 0, 0, 0, 0, 0, 0, 0, 0, cc_01CDx, cc_01CEx, 0};
static unsigned char *cc_01Dxx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, cc_01DCx, cc_01DDx, cc_01DEx, cc_01DFx};
static unsigned char *cc_020xx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, cc_020Dx, cc_020Ex, cc_020Fx};
static unsigned char *cc_02Cxx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, cc_02CEx, cc_02CFx};
static unsigned char *cc_02Dxx[16] = {0, 0, 0, 0, 0, 0, 0, cc_02D7x, 0, 0, 0, 0, 0, 0, cc_02DEx, cc_02DFx};
static unsigned char *cc_030xx[16] = {0, 0, cc_0302x, 0, 0, 0, 0, 0, 0, cc_0309x, 0, 0, 0, 0, 0, 0};
static unsigned char *cc_0A6xx[16] = {0, 0, 0, 0, 0, 0, cc_0A66x, cc_0A67x, 0, 0, 0, 0, 0, 0, 0, cc_0A6Fx};
static unsigned char *cc_0A8xx[16] = {cc_0A80x, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, cc_0A8Cx, 0, cc_0A8Ex, cc_0A8Fx};
static unsigned char *cc_0A9xx[16] = {0, 0, cc_0A92x, 0, 0, cc_0A95x, 0, 0, 0, 0, 0, cc_0A9Bx, cc_0A9Cx, 0, 0, 0};
static unsigned char *cc_0AAxx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, cc_0AABx, cc_0AACx, 0, 0, 0};
static unsigned char *cc_0ABxx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, cc_0ABEx, 0};
static unsigned char *cc_0FBxx[16] = {0, cc_0FB1x, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char *cc_0FExx[16] = {0, 0, cc_0FE2x, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char *cc_101xx[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, cc_101Fx};
static unsigned char *cc_10Axx[16] = {cc_10A0x, 0, 0, cc_10A3x, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
static unsigned char *cc_110xx[16] = {0, 0, 0, 0, cc_1104x, 0, 0, 0, 0, 0, 0, cc_110Bx, 0, 0, 0, 0};
static unsigned char *cc_1D1xx[16] = {0, 0, 0, 0, 0, 0, cc_1D16x, cc_1D17x, cc_1D18x, 0, cc_1D1Ax, 0, 0, 0, 0, 0};
static unsigned char *cc_1D2xx[16] = {0, 0, 0, 0, cc_1D24x, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

static unsigned char **combining_class[0x1D3]={
		       0,        0,        0, cc_003xx, cc_004xx, cc_005xx, cc_006xx, cc_007xx,
		cc_008xx, cc_009xx, cc_00Axx, cc_00Bxx, cc_00Cxx, cc_00Dxx, cc_00Exx, cc_00Fxx,
		cc_010xx,        0,        0, cc_013xx,        0,        0,        0, cc_017xx,
		cc_018xx, cc_019xx, cc_01Axx, cc_01Bxx, cc_01Cxx, cc_01Dxx,        0,        0,
		cc_020xx,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0, cc_02Cxx, cc_02Dxx,        0,        0,
		cc_030xx,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0, cc_0A6xx,        0,
		cc_0A8xx, cc_0A9xx, cc_0AAxx, cc_0ABxx,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0, cc_0FBxx,        0,        0, cc_0FExx,        0,
		       0, cc_101xx,        0,        0,        0,        0,        0,        0,
		       0,        0, cc_10Axx,        0,        0,        0,        0,        0,
		cc_110xx,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0,        0,        0,        0,        0,        0,        0,        0,
		       0, cc_1D1xx, cc_1D2xx};

//-----------------------------------------------------------------------


char get_char_category(unsigned ch)
{
	unsigned block_offset = category_stage1[ch / 256] * 256;
	return category_stage2[block_offset + ch % 256];
}

unsigned simple_casefold_char(unsigned ch)
{
    unsigned *cf, c;
	if (ch > 0x104FF) return ch;
	cf = casefold[ch >> 8];
	if (cf == 0) return ch;
	c = cf[ch & 0xFF];
	return c?c:ch;
}

/// Test if character is allowed in NFC (Normalized form C, canonically composed) format
int nfc_test_is_allowed(unsigned ch)
{
    unsigned *tab, mask;
	if (ch >= 0x30000) return 0;
	tab = nfc_test[ch>>8];
	if (tab == 0) return 1;
	mask = tab[(ch & 0xFF)>>5];
	return mask & (1 << (ch & 0x1F));
}

/// Get combining class of character
unsigned get_combining_class(unsigned ch)
{
    unsigned char **toptab, *tab100;
    if (ch >= 0x1D3000) return 0;
    toptab = combining_class[ch>>8];
    if (toptab == 0) return 0;
    tab100 = toptab[(ch >> 4) & 0xF];
    if (tab100 == 0) return 0;
    return tab100[ch & 0xF];
}
